@南馆潇湘
2年前 提问
1个回答

有哪些常见的异常检测方法

安全小白成长记
2年前
官方采纳

常见的异常检测方法有:

  • 基于统计的异常检测方法

基于统计的异常检测方法就是利用数学统计理论技术,通过构建用户或系统正常行为的特征轮廓。其中统计性特征轮廓通常由主体特征变量的频度、均值、方差、被监控行为的属性变量的统计概率分布以及偏差等统计量来描述。典型的系统主体特征有:系统的登录与注销时间,资源被占用的时间以及处理机、内存和外设的使用情况等。至千统计的抽样周期可以从短到几分钟到长达几个月甚至更长。基千统计性特征轮廓的异常性检测器,对收集到的数据进行统计处理,并与描述主体正常行为的统计性特征轮廓进行比较,然后根据 者的偏差是否超过指定的门限来进一步判断、处理。许多入侵检测系统或系统原型都采用了这种统计模型。

  • 基于模式预测的异常检测方法

基于模式预测的异常检测方法的前提条件是:事件序列不是随机发生的而是服从某种可辨别的模式,其特点是考虑了事件序列之间的相互联系。安全专家 Teng Chen 给出了一种基于时间的推理方法,利用时间规则识别用户正常行为模式的特征。通过归纳学习产生这些规则集,并能动态地修改系统中的这些规则,使之具有较高的预测性、准确性和可信度。如果规则大部分时间是正确的,并能够成功地用千预测所观察到的数据,那么规则就具有较高的可信度。例如, TIM (Time-based Inductive Machine) 给出下述产生规则:

(El!E2!E3)(E4 = 95%,£5 = 5%)

其中, El~E5 表示安全事件。上述规则说明,事件发生的顺序是 El, E2, E3, E4, E5 。事件 E4 发生的概率是 95% ,事件 E5 发生的概率是 5% 。通过事件中的临时关系, TIM 能够产生更多的通用规则。根据观察到的用户行为,归纳产生出一套规则集,构成用户的行为轮廓框架。如果观测到的事件序列匹配规则的左边,而后续的事件显著地背离根据规则预测到的事件,那么系统就可以检测出这种偏离,表明用户操作异常。这种方法的主要优点有: $能较好地处理变化多样的用户行为,并具有很强的时序模式; @能够集中考察少数几个相关的安全事件,而不是关注可疑的整个登录会话过程; @容易发现针对检测系统的攻击。

  • 基于文本分类的异常检测方法

基于文本分类的异常检测方法的基本原理是将程序的系统调用视为某个文档中的”字”,而进程运行所产生的系统调用栠合就产生一个“文档”。对千每个进程所产生的“文档”,利用K-最近邻聚类 CK-Nearest Neighbor) 文本分类算法,分析文档的相似性,发现异常的系统调用,从而检测入侵行为。

  • 基于贝叶斯推理的异常检测方法

基于贝叶斯推理的异常检测方法,是指在任意给定的时刻,测噩 Ai, A2, …An 变量值,推理判断系统是否发生入侵行为。其中,每个变量 Ai 表示系统某一方面的特征,例如磁盘 1/O的活动数量、 系统中页面出错的数目等 假定变 Ai 可以取两个值: 1表示异常,0表示正常。令I表示系统当前遭受的入侵攻击。每个异常变量 Ai 的异常可靠性和敏感性分别用P(Ai = l|I)和 P(Ai =1| ㄱ I) 表示。千是,在给定每个 Ai 值的条件下,由贝叶斯定理得出可信度为:

有哪些常见的异常检测方法?

其中,要求给出 I和 ㄱ I 的联合概率分布。假定每个测量 Ai 仅与 I 相关,与其他的测量条件Ai(i ≠ j) 无 无关,则有:

有哪些常见的异常检测方法?

从而得到:

有哪些常见的异常检测方法?

因此,根据各种异常测量的值、入侵的先验概率、入侵发生时每种测量得到的异常概率,就能够判断系统入侵的概率。但是为了保证检测的准确性,还需要考查各变量 Ai 之间的独立性。一种方法是通过相关性分析,确定各异常变量与入侵的关系。